import { createStore } from "vuex";
import createPersistedState from "vuex-persistedstate";

export default createStore({
  state: {
    isLoggedIn: false,
  },
  mutations: {
    SET_LOGGED_IN(state, value) {
      state.isLoggedIn = value;
    },
  },
  actions: {
    // 登陆成功
    loginSuccess({ commit }, token) {
      // 设置登录状态为：true
      localStorage.setItem("token", token);
      commit("SET_LOGGED_IN", true);
    },

    // 退出
    logout({ commit }) {
      // 可以在这里进行一些清理操作，比如清除本地存储的token等
      localStorage.removeItem("token");
      commit("SET_LOGGED_IN", false);
    },
  },
  modules: {},
  getters: {
    isUserLoggedIn(state) {
      return state.isLoggedIn;
    },
  },
  plugins: [
    createPersistedState({
      key: "JY-SYSTEM", // 自定义一个键名，用于在本地存储中标识存储的数据
      paths: ["isLoggedIn"], // 指定要持久化的状态，这里只针对登录状态，可按需添加其他状态
    }),
  ],
});
